/** * jquery.flipshow.js v1.0.0 * http://www.codrops.com * * Licensed under the MIT license. * http://www.opensource.org/licenses/mit-license.php * * Copyright 2013, Codrops * http://www.codrops.com */ !function(a,b,c){"use strict"; // original: mit license. paul irish. 2010. // contributors: Oren Solomianik, David DeSandro, Yiannis Chatzikonstantinou var d="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";a.fn.imagesLoaded=function(b){function e(){var c=a(m),d=a(n);i&&(n.length?i.reject(k,c,d):i.resolve(k)),a.isFunction(b)&&b.call(h,k,c,d)}function f(a){g(a.target,"error"===a.type)}function g(b,c){b.src!==d&&-1===a.inArray(b,l)&&(l.push(b),c?n.push(b):m.push(b),a.data(b,"imagesLoaded",{isBroken:c,src:b.src}),j&&i.notifyWith(a(b),[c,k,a(m),a(n)]),k.length===l.length&&(setTimeout(e),k.unbind(".imagesLoaded",f)))}var h=this,i=a.isFunction(a.Deferred)?a.Deferred():0,j=a.isFunction(i.notify),k=h.find("img").add(h.filter("img")),l=[],m=[],n=[];return a.isPlainObject(b)&&a.each(b,function(a,c){"callback"===a?b=c:i&&i[a](c)}),k.length?k.bind("load.imagesLoaded error.imagesLoaded",f).each(function(b,e){var f=e.src,h=a.data(e,"imagesLoaded");return h&&h.src===f?void g(e,h.isBroken):e.complete&&e.naturalWidth!==c?void g(e,0===e.naturalWidth||0===e.naturalHeight):void((e.readyState||e.complete)&&(e.src=d,e.src=f))}):e(),i?i.promise(h):h};var e=b.Modernizr;a.Flipshow=function(b,c){this.$el=a(c),this._init(b)},a.Flipshow.defaults={speed:700,easing:"ease-out"},a.Flipshow.prototype={_init:function(b){this.options=a.extend(!0,{},a.Flipshow.defaults,b),this.support=e.csstransitions&&e.csstransforms3d&&!/MSIE (\d+\.\d+);/.test(navigator.userAgent);var c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"},d={WebkitTransform:"-webkit-transform",MozTransform:"-moz-transform",OTransform:"-o-transform",msTransform:"-ms-transform",transform:"transform"};this.support&&(this.transEndEventName=c[e.prefixed("transition")]+".cbpFWSlider",this.transformName=d[e.prefixed("transform")]),this.transitionProperties=this.transformName+" "+this.options.speed+"ms "+this.options.easing,this.$listItems=this.$el.children("ul.fc-slides"),this.$items=this.$listItems.children("li").hide(),this.itemsCount=this.$items.length,this.current=0,this.$listItems.imagesLoaded(a.proxy(function(){this.$items.eq(this.current).show(),this.itemsCount>0&&(this._addNav(),this.support&&this._layout())},this))},_addNav:function(){var b=this,c=a('
'),d=a('
');a("").append(c,d).appendTo(this.$el),c.find("span").on("click.flipshow touchstart.flipshow",function(){b._navigate(a(this),"left")}),d.find("span").on("click.flipshow touchstart.flipshow",function(){b._navigate(a(this),"right")})},_layout:function(b,c){this.$flipFront=a('
'),this.$frontContent=this.$flipFront.children("div:first"),this.$flipBack=a('
'),this.$backContent=this.$flipBack.children("div:first"),this.$flipEl=a('
').append(this.$flipFront,this.$flipBack).hide().appendTo(this.$el)},_navigate:function(a,b){if(this.isAnimating&&this.support)return!1;this.isAnimating=!0;var c=this.$items.eq(this.current).hide();"right"===b?this.current0?--this.current:this.current=this.itemsCount-1);var d=this.$items.eq(this.current);this.support?this._flip(c,d,b,a.index()):d.show()},_flip:function(b,c,d,e){var f="",g=a('
'),h=a('
');if("undefined"!=typeof this.$flipEl){this.$flipEl.css("transition",this.transitionProperties),this.$flipFront.find("div.fc-overlay-light, div.fc-overlay-dark").remove(),this.$flipBack.find("div.fc-overlay-light, div.fc-overlay-dark").remove(),"right"===d?(this.$flipFront.append(g),this.$flipBack.append(h),h.css("opacity",1)):"left"===d&&(this.$flipFront.append(h),this.$flipBack.append(g),g.css("opacity",1));var i={transition:"opacity "+this.options.speed/1.3+"ms"};switch(g.css(i),h.css(i),e){case 0:f="left"===d?"rotate3d(-1,1,0,-179deg) rotate3d(-1,1,0,-1deg)":"rotate3d(1,1,0,180deg)";break;case 1:f="left"===d?"rotate3d(0,1,0,-179deg) rotate3d(0,1,0,-1deg)":"rotate3d(0,1,0,180deg)";break;case 2:f="left"===d?"rotate3d(1,1,0,-179deg) rotate3d(1,1,0,-1deg)":"rotate3d(-1,1,0,179deg) rotate3d(-1,1,0,1deg)"}this.$flipBack.css("transform",f),this.$frontContent.empty().html(b.html()),this.$backContent.empty().html(c.html()),this.$flipEl.show();var j=this;setTimeout(function(){j.$flipEl.css("transform",f),g.css("opacity","right"===d?1:0),h.css("opacity","right"===d?0:1),j.$flipEl.on(j.transEndEventName,function(a){"fc-overlay-light"!==a.target.className&&"fc-overlay-dark"!==a.target.className&&j._ontransitionend(c)})},25)}},_ontransitionend:function(a){a.show(),this.$flipEl.off(this.transEndEventName).css({transition:"none",transform:"none"}).hide(),this.isAnimating=!1}};var f=function(a){b.console&&b.console.error(a)};a.fn.flipshow=function(b){if("string"==typeof b){var c=Array.prototype.slice.call(arguments,1);this.each(function(){var d=a.data(this,"flipshow");return d?a.isFunction(d[b])&&"_"!==b.charAt(0)?void d[b].apply(d,c):void f("no such method '"+b+"' for flipshow instance"):void f("cannot call methods on flipshow prior to initialization; attempted to call method '"+b+"'")})}else this.each(function(){var c=a.data(this,"flipshow");c?c._init():c=a.data(this,"flipshow",new a.Flipshow(b,this))});return this}}(jQuery,window);